


Why Jessie Joined AVALANCHE

by purglepurglepurgle



Category: Final Fantasy VII (Video Game 1997)
Genre: Gen, Programming, Software, nerdy humour, slight AU, software-development infrastructure
Language: English
Status: Completed
Published: 2019-09-05
Updated: 2019-09-05
Packaged: 2020-10-10 16:55:48
Rating: General Audiences
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 1,634
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/20531387
Author URL: https://archiveofourown.org/users/purglepurglepurgle/pseuds/purglepurglepurgle
Summary: Set pre-OG. Jessie's excited to start her new coding job at Shinra Inc. But it's not what she expects...Somewhat AU given it's pretty unlikely Gaia would develop all the same tools with the same names independently.Note: This is somewhat technical, though not suuuper in-depth. Think 'I know what a version control system is' level. Feel free to read otherwise, just warning you that it might be a wall of jargon. I can't really tell.





	Why Jessie Joined AVALANCHE

**Author's Note:**

> Since The_Moss_Stomper asked for it, I unearthed this fic. :D It's been on my harddrive for a few months. Jokes may not be funny.

"And here he is!" With a flourish, Mr. Tuesti opened the utility cupboard door. Jessie peered inside.

Sitting on the bottom shelf was a cat-robot-thing: half-metal, half-fur. For some reason, it was wearing booties. Its left eye sparked. Mr Tuesti bent and gently lifted it out of the cupboard, then turned back to Jessie. "This is what you'll be working on during your Shinra contract. His name is Cait."

Jessie nodded, inwardly panicking. The job description had asked for five years' software-engineering experience with popular deployment technologies, to aid the Urban Planning department with their 'Cait' project. She'd expected some kind of website with a database and a REST API, some CI and CD...

This was a _robot_.

She tried to keep her voice calm. "Great! I mean, I've never done robotics before, but I'll try my best!"

Reeve laughed. "Don't worry about it. You'll pick it up. None of us are experts; we're all just learning as we go." He smiled, bouncing Cait on his arm.

Jessie found his kindness reassuring. Maybe the technology wasn't so different under the surface... "So, I guess there's a portal online with some kind of API so I can connect to... Cait?"

Reeve burst out laughing. "API? It's taken me a year to get budget for a new developer! No, to access Cait, you need to plug in a laptop via serial cable, and connect using screen-- there's a port on Cait's back, here, look." He flipped the robot round. Jessie saw there was a jagged hole hacked into its neck. Sparks showered down from Cait's eye, bouncing off the polished office floor.

"I... see..." said Jessie. She didn't know what 'screen' was, but it sounded like, in order to program Cait, Reeve expected her to physically connect her laptop. But the job had mentioned work from home! "So how would I connect remotely?"

"You can't," said Reeve, with a tender sigh. "Cait has no internet or intranet access. He's still a baby." He laid Cait down again, patting the robot's head.

Jessie nodded, frowning. She guessed she would have to keep a laptop physically attached to Cait, and then use the wifi to connect to that from her own laptop. "So, the first laptop connects to Cait, and the second laptop connects to the first laptop?"

Reeve looked at her blankly. "You only get one laptop."

Now it was Jessie's turn to look blank. "So... we leave Cait connected to a desktop?"

Reeve shook his head. "Shinra won't let us. We're not allowed to leave Cait connected to any outward-facing devices, for security. I've tried arguing it, but we're looking at months of red tape, so for now you'll need to be in the room with Cait to program him. Oh, by the way, you might want to buy a longer serial cable; I've been using this one." Reeve picked up a wire, about six inches long. "I haven't got round to replacing it, but it's a pain; it doesn't reach down to the table so you have to program while standing, resting the laptop sideways on Cait's back."

Jessie wondered if this were an elaborate hoax.

"Come on, I'll show you the software!" Reeve smiled and picked Cait up again, cradling it like a child. They walked over to Reeve's desk, where his laptop was waiting. "If you hold Cait up, the cable will reach." So saying, he passed Cait over to Jessie. Cait was heavier than it looked. It had sharp edges. Jessie felt something damp seeping through her shoulder sleeve, and realised Cait was leaking oil.

As Jessie held the cat robot out at arm's length, Reeve showed her his terminal.

"So, this is the big one!" Using the commandline, Reeve moved between directories, listing the contents for Jessie's benefit. For some reason, he had given `ls` the alias: `please show me my files`. Before she could ask about this, he smiled at her, and said, "You go into 'home', then 'my-documents'-- _not_ 'Documents'-- then 'reevelatest', then 'softlysoftly'. In there, there's a folder called 'newest', along with some other folders named with dates, like '25-4-94'. With me so far?"

Jessie nodded, twisting awkwardly to see Reeve's screen.

Reeve continued, "So, when you're ready to make a change, you copy the code that's in 'newest' into a new folder with the current date. Then delete everything in 'newest', then copy your codebase into 'newest'. This way, we have a record of all versions, and we can roll back to an earlier version of the software if we need to."

Jessie's eyes nearly fell out of her face. "But... Doesn't the VCS take care of that?"

Reeve blinked. "What's a VCS?"

Jessie felt ice-cold sweat slide down her back. "I..." She wondered if she could just quietly introduce a version control system herself. She guessed it would depend what packages Cait had installed. Hm, that was a point. "Um, Mr. Tuesti, what about Cait's system software? How does he get new packages?"

Reeve smiled. "You really know what you're talking about!" He leaned back, stretching out in his chair. "Ah, I'm so happy. The last guy Shinra sent me, he thought powerpoints were programming. It took thirteen months to get rid of him. And the guy before him, well, he was good at the coding side-- he implemented all the low-level stuff, in fact-- but he was one angry customer. Would've been a good fit for SOLDIER. I had to let him go after we had a planning meeting where he literally broke my desk in half. Had strong opinions about workflow. You know what developers are like." Reeve clapped his hands, leaning forwards. "But, you! I think this is gonna be pretty good team!"

Jessie tried to smile back. She felt bad for the Director; he seemed like a friendly guy. Just a bit clueless.

Reeve carried on. "As for your question, we don't have a quick way to update the system packages. Mostly we leave them alone and cross our fingers." He winked. "When we _really _want to, we can either manually copy files over from another machine and paste them into the right directories, or we can burn a new ISO with the system packages on it and then boot Cait from that-- and then copy in his software again. Bit tricky either way, since sometimes we patch him on the fly. So… there are deltas. Oh, I should mention, currently we track bugs on post-it notes; we had an etherpad but that angry guy I mentioned kinda sabotaged the server when he left."

Jessie flinched; a spark from Cait had just struck the back of her hand. Her eyes watered. _This could not be serious._

Reeve continued, recapping to himself, "Packages, packages, copy-paste or burn a new ISO… in practice, I guess we do a bit of both, and they're not synced. I think there's a shellscript somewhere for some of it, though I can't remember what it's called, and I always end up doing some by hand anyway. Which reminds me, we need to get vim on him sometime; he's only got vi right now. Don't suppose you know how to close vi? I always just end up rebooting the computer."

Jessie couldn't tell whether he was joking or not. She went with a nervous grimace.

"Oh, and by the way, building and deploying the ISO takes about six hours, so best not to do it unless you really have to. Just note down any software you add in a spreadsheet or something. Bear in mind that Cait has 2GB storage and 32MB RAM."

Jessie no longer felt bad for the Director. Jessie no longer felt anything.

Reeve patted his palms down on the table, satisfied. "So? Any other questions?"

"Uh, yeah..." She'd memorised some, in the distant past when she’d felt excited about this job. Now, devoid of all human feeling and warmth, she repeated them by rote. "How do I access the test environment? For if I want to check my changes before uploading them to Cait?"

Reeve shook his head. "No test env. Would be cool to have one, though. Maybe we'll get to it at some point."

Her eye twitched. She took a deep breath, and continued. "What language is Cait written in?" The job posting had specified Python. Her CV had specified Python. The technical interview had tested her Python.

"He's in Visual Basic!" Reeve grinned. "Well, no, he's _mostly_ Visual Basic, since I'd used it in Urban Planning-- but there's all sorts in there when you go for a dig." Reeve opened a few folders so that Jessie could see the file extensions. Her body was cramping from standing at an angle, but she made herself look. She didn't recognise anything. As she massaged her side with her free hand, he continued, "There's also some C, of course, for the lower-level stuff, though the guy who wrote that is the angry guy I mentioned earlier, so none of us know how it works." He put his palms up. "If you find documentation, let me know."

Jessie's entire body tensed. "For the rest of it, where are the docs?"

Reeve laughed, rubbing the back of his neck. "Ah, guilty as charged. Yeah, we move pretty fast, so we tend not to write stuff down. Though there are the post-its I mentioned, plus the spreadsheet of software changes should be floating around on a floppy disk somewhere. Think I saw it near the snack table, actually. Or was it by the Midgar model?" He squinted into the distance for a moment, pondering, then shrugged. "It'll turn up. But, just ask me if you need anything."

"I guess I have one more question," said Jessie, plonking Cait down on the table.

"What is it?"

"Is Cait bombproof?"


End file.
